home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / phproxy_xss.nasl < prev    next >
Text File  |  2005-03-31  |  2KB  |  77 lines

  1. #
  2. # Script by Noam Rathaus GPLv2
  3. #
  4. # "Boshcash" <boshcash@msn.com>
  5. # 2004-12-24 20:41
  6. # PHProxy XSS Bug
  7.  
  8. if(description)
  9. {
  10.  script_id(16069);
  11.  script_version("$Revision: 1.3 $");
  12.  script_bugtraq_id(12115);
  13.  
  14.  name["english"] = "PHProxy XSS";
  15.  
  16.  script_name(english:name["english"]);
  17.  
  18.  desc["english"] = "
  19. The remote host is running PHProxy, a web HTTP proxy written in PHP.
  20.  
  21. There is a bug in the remote version software which makes it vulnerable to 
  22. HTML and JavaScript injection.
  23.  
  24. An attacker may use this bug to preform web cache poisoning, xss attack, etc.
  25.  
  26. Solution : Upgrade to the newest version of this software
  27. Risk factor : Medium";
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  summary["english"] = "Checks for the presence of a PHProxy XSS";
  32.  
  33.  script_summary(english:summary["english"]);
  34.  
  35.  script_category(ACT_ATTACK);
  36.  
  37.  script_copyright(english:"This script is Copyright (C) 2004 Noam Rathaus");
  38.  family["english"] = "CGI abuses : XSS";
  39.  family["francais"] = "Abus de CGI";
  40.  script_family(english:family["english"], francais:family["francais"]);
  41.  script_dependencie("cross_site_scripting.nasl");
  42.  script_require_ports("Services/www", 80);
  43.  exit(0);
  44. }
  45.  
  46. #
  47. # The script code starts here
  48. #
  49.  
  50.  
  51. include("http_func.inc");
  52. include("http_keepalive.inc");
  53.  
  54. port = get_http_port(default:80);
  55.  
  56. if(!get_port_state(port))exit(0);
  57. if(!can_host_php(port:port))exit(0);
  58. if (  get_kb_item(string("www/", port, "/generic_xss")) ) exit(0);
  59.  
  60. function check(loc)
  61. {
  62.  req = http_get(item: string(loc, "/index.php?error=<script>foo</script>"), port:port);
  63.  r = http_keepalive_send_recv(port:port, data:req, bodyonly:1);
  64.  if( r == NULL )exit(0);
  65.  if("<script>foo</script>" >< r)
  66.  {
  67.   security_warning(port);
  68.   exit(0);
  69.  }
  70. }
  71.  
  72. foreach dir ( cgi_dirs() )
  73. {
  74.  check(loc:dir);
  75. }
  76.  
  77.